#include "app_runner.h"
#include "app_device.h"
#include <unistd.h>
#include <signal.h>

static bool is_runninng = true;

static void signal_handler(int sig)
{
    is_runninng = false;
}

/**
 * @brief 启动程序
 * 
 * @return int 判断是否成功启动
 */
int app_runner_run(void)
{
    // 注册信号处理函数
    signal(SIGINT, signal_handler); // CTRL + C
    signal(SIGTERM, signal_handler); // kill进程

    // 初始化设备
    app_device_init(DEVICE_FILE);

    // 启动设备
    app_device_start();

    // 只要设备没有停止，就一直循环
    while (is_runninng)
    {
        sleep(1);
    }

    // 停止设备
    app_device_stop();

    return 0;
}